V11.0.10/service update#61
Conversation
Greptile SummaryThis PR updates Cuemon/Codebelt package dependencies to 10.5.2 and bumps several third-party packages, while simultaneously refactoring all 121 changed files from block-scoped to file-scoped C# namespaces and adding new xUnit test coverage for ASP.NET Core hosting fixtures.
Confidence Score: 5/5Safe to merge — all changes are mechanical namespace reformatting, dependency version bumps, and additive test coverage with no logic alterations. The namespace refactor is purely cosmetic with no behavioral change; dependency bumps are minor patch increments; the five new test files are strictly additive and follow the newly mandated file-scoped namespace style. .github/copilot-instructions.md has a minor indentation inconsistency in the Section 6 code example after the namespace conversion. Important Files Changed
Prompt To Fix All With AIFix the following 1 code review issue. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 1
.github/copilot-instructions.md:103-131
**Inconsistent indentation in the Section 6 code example after namespace conversion**
The constructor block was correctly dedented to 4 spaces, but the `[Fact]` attribute and the full method body immediately below it still use 8-space indentation from the old block-scoped form. A developer copying this example would produce a file where the constructor and method members sit at different indent levels, directly contradicting the file-scoped namespace style the instructions mandate.
Reviews (4): Last reviewed commit: "🔧 fix constructor parameter type in Hos..." | Re-trigger Greptile |
Standardized line endings and whitespace formatting across Directory.Packages.props and all PackageReleaseNotes.txt files for consistency.
Updated the release date for version 11.0.10 to reflect current date.
Updated example code in the README to use ManagedHostFixture and correct service provider access pattern. Also fixed reference link to a real test example.
Updated the NGINX version used in the documentation build Dockerfile to the latest stable Alpine-based version.
Updated GitHub links in package READMEs to point to the codebeltnet organization namespace instead of the personal gimlichael account.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #61 +/- ##
==========================================
+ Coverage 94.58% 95.68% +1.09%
==========================================
Files 46 46
Lines 942 950 +8
Branches 124 115 -9
==========================================
+ Hits 891 909 +18
+ Misses 42 32 -10
Partials 9 9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Added comprehensive unit tests for BlockingManagedWebHostFixture, SelfManagedWebHostFixture, SelfManagedWebMinimalHostFixture, HostBuilderApplicationExtensions, and FakeHttpResponseFeature to ensure correct hosting behavior and configuration.
Converted all source files in Codebelt.Extensions.Xunit from block-scoped to file-scoped namespace declarations (namespace Foo;). Pure structural change — no behavior or API modifications.
Converted all source files in Codebelt.Extensions.Xunit.Hosting from block-scoped to file-scoped namespace declarations (namespace Foo;). Pure structural change — no behavior or API modifications.
Converted all source files in Codebelt.Extensions.Xunit.Hosting.AspNetCore from block-scoped to file-scoped namespace declarations (namespace Foo;). Includes files under Http/ and Http/Features/ subdirectories and both Internal/ types. Pure structural change — no behavior or API modifications.
Converted benchmark-runner Program.cs and both benchmark classes (DelimitedStringBenchmark, TestBenchmark) from block-scoped to file-scoped namespace declarations. Pure structural change — no behavior modifications.
Updated copilot-instructions.md and AGENTS.md to reflect that the entire codebase has been refactored to file-scoped namespaces. All code examples updated to file-scoped syntax; AGENTS.md wording changed from 'Prefer' to 'Always use' and notes that block-scoped namespaces must never be used.
Documented codebase modernization patch release: file-scoped namespace refactoring across all three assemblies, new ASP.NET Core hosting fixture test coverage (BlockingManagedWebHostFixture, SelfManagedWebHostFixture, SelfManagedWebMinimalHostFixture, FakeHttpResponseFeature), NGINX base image upgrade, and GitHub repo reference corrections.
| } | ||
| var context = new DefaultHttpContext(); | ||
| var fc = new FeatureCollection(); | ||
| fc.Set<IServiceProvidersFeature>(new RequestServicesFeature(context, factory)); |
| catch (Exception ex) | ||
| { | ||
| throw new InvalidOperationException("There is an error in the Stream being written.", ex); | ||
| } |
Convert all test files from block-scoped to file-scoped namespaces for consistency with modern .NET coding standards and to match production code conventions. This improves readability and aligns with the project's stated namespace guidelines in AGENTS.md and copilot-instructions.md.
| }, | ||
| app => | ||
| { | ||
| var policy = app.ApplicationServices.GetRequiredService<IAuthorizationPolicyProvider>(); |
| [Fact] | ||
| public void ShouldLogToXunitTestLogging() | ||
| { | ||
| var context = _provider.GetRequiredService<IHttpContextAccessor>().HttpContext; |
| }, | ||
| app => | ||
| { | ||
| var policy = app.ApplicationServices.GetRequiredService<IAuthorizationPolicyProvider>(); |
| [Fact] | ||
| public void ShouldLogToXunitTestLogging() | ||
| { | ||
| var context = _provider.GetRequiredService<IHttpContextAccessor>().HttpContext; |
| }, | ||
| app => | ||
| { | ||
| var policy = app.ApplicationServices.GetRequiredService<IAuthorizationPolicyProvider>(); |
| var lifetime = hostFixture.Host.Services.GetRequiredService<IHostApplicationLifetime>(); | ||
| lifetime.ApplicationStarted.Register(() => _isHostRunning = true); | ||
| } | ||
| _scope = hostFixture.Host.Services.CreateScope(); |
| internal IntPtr _handle = IntPtr.Zero; | ||
| internal IntPtr _libHandle = IntPtr.Zero; | ||
| internal IntPtr _handle = IntPtr.Zero; | ||
| internal IntPtr _libHandle = IntPtr.Zero; |
| { | ||
| internal IntPtr _handle = IntPtr.Zero; | ||
| internal IntPtr _libHandle = IntPtr.Zero; | ||
| internal IntPtr _handle = IntPtr.Zero; |
|



This is a service update that focuses on package dependencies.
Automated changes:
Note: Third-party packages (Microsoft.Extensions.*, BenchmarkDotNet, etc.) are not auto-updated.
Use Dependabot or manual updates for those.
Generated by codebelt-aicia
Triggered by: cuemon @ 10.5.2